ActiveReports 12
Add Hyperlinks
ActiveReports 12 > ActiveReports User Guide > How To > Section Report How To > Add Hyperlinks

In a section report, you can add hyperlinks in a report using the Hyperlink property available with the following controls:

You can add hyperlinks that connect to a Web page, open an e-mail, or jump to a bookmark.

Note: Specify the full URL address (for example, "http://www.grapecity.com") for the Hyperlink property to avoid broken links while viewing reports.

To link to a Web page

  1. Select an existing control or drag and drop a control from the Visual Studio toolbox onto the design surface.
  2. Right-click the control to open the Properties Window.
  3. In the Properties Window, set the HyperLink property to any valid URL. For example, for example, http://www.grapecity.com.

To link to an e-mail address

  1. Select an existing control or drag and drop a control from the Visual Studio toolbox onto the design surface.
  2. Right-click the control to open the Properties Window.
  3. In the Properties Window, set the HyperLink property to mailto: any valid e-mail address.

To parse the URL out of a database field for a hyperlink

  1. From the Report Explorer, drag and drop the link field onto the design surface.
  2. Double-click the section where you had placed the link field. This creates an event-handling method for the section's Format event.
  3. Add code to the Format event to,
    • Parse the URL out of the Link field
    • Assign it to the HyperLink property of TextBox
    • Remove the URL markers from the text displayed in TextBox

    The following example shows what the code for the method looks like.

    To write the code in Visual Basic.NET

    Visual Basic.NET code. Paste INSIDE the Format event.
    Copy Code
    Dim iStart As Integer
    Dim sHTML As String
    If textBox1.Text <> "" Then
        iStart = InStr(1, textBox1.Text, "#", CompareMethod.Text)
        sHTML = Right(textBox1.Text, (Len(textBox1.Text) - iStart))
        sHTML = Replace(sHTML, "#", "", 1, -1, CompareMethod.Text)
        textBox1.HyperLink = sHTML
        textBox1.Text = Replace(textBox1.Text, "#", "", 1, -1, CompareMethod.Text)
    End If
    

    To write the code in C#

    C# code. Paste INSIDE the Format event.
    Copy Code
    int iStart;
    string sHTML;
    if (textBox1.Text != "")
        {
         iStart = textBox1.Text.IndexOf("#",0);
         sHTML = textBox1.Text.Substring(iStart, textBox1.Text.Length - iStart);
         sHTML = sHTML.Replace("#", "");
         textBox1.HyperLink = sHTML;
         textBox1.Text = textBox1.Text.Replace("#", "");
        }
    

To create a hyperlink that jumps to a bookmark

  1. From the Report Explorer, drag and drop a field onto the design surface.
  2. Double-click the section where you had placed the field. This creates an event-handling method for the section's Format event.
  3. Add the following code inside the Format event.

    The following example shows what the code for the method looks like.

    To write the code in Visual Basic.NET

    Visual Basic.NET code. Paste JUST ABOVE the Format event.
    Copy Code
    Public pBM As New BookmarksCollection()
    Dim iEntry As Integer
    
    Visual Basic.NET code. Paste INSIDE the Format event.
    Copy Code
    Me.Detail1.AddBookmark(Me.textBox1.Text)
    Me.txtEntry.HyperLink = "toc://" + pBM(iEntry - 1).Label
    Me.txtEntry.Text = pBM(iEntry - 1).Label     
    Me.txtPage.Text = pBM(iEntry - 1).PageNumber
    

    To write the code in C#

    C# code. Paste JUST ABOVE the Format event.
    Copy Code
    public BookmarksCollection pBM = new BookmarksCollection();
    int iEntry;
    
    C# code. Paste INSIDE the Format event.
    Copy Code
    this.detail.AddBookmark(this.textBox.Text);
    this.txtEntry.HyperLink = "toc://" + pBM[iEntry - 1].Label;
    this.txtEntry.Text = pBM[iEntry - 1].Label;
    this.txtPage.Text = pBM[iEntry - 1].PageNumber.ToString();
    

To display the page number of the bookmark in the table of contents

  1. Select the gray area outside the report and right-click to choose Properties option from the context menu. 
  2. In the Properties Window that appears, click the Events button to get the list of events for the report.
  3. Select the FetchData event from that list and double-click it. This creates an event-handling method for the report's FetchData event in the code behind.
  4. Add code to the handler to retrieve information to populate the report fields.

    The following example shows what the code for the method looks like.

    To write the code in Visual Basic

    Visual Basic.NET code. Paste INSIDE the FetchData event.
    Copy Code
    If iEntry > pBM.Count - 1 Then
        eArgs.EOF = True
    Else
        eArgs.EOF = False
        iEntry += 1
    End If
    

    To write the code in C#

    C# code. Paste INSIDE the FetchData event.
    Copy Code
    if (iEntry > pBM.Count - 1)
    {
        eArgs.EOF = true;
    }
    else
    {
        eArgs.EOF = false;
        iEntry += 1;
    }
    
See Also

Concepts